home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 3 / Cream of the Crop 3.iso / science / ack3d.zip / ACKENG.H < prev    next >
Text File  |  1994-01-09  |  2KB  |  69 lines

  1. /* Header file for ACK3D engine routines */
  2. /* Author: Lary Myers */
  3.  
  4. #define USE_XMS        1        /* Set to 0 if XMS not desired */
  5.  
  6. #define FP_SHIFT    16
  7. #define FP_MULT        65536
  8. #define FP_HALF        32768
  9.  
  10. #define VIEW_WIDTH    320
  11. #define MAX_DISTANCE    2048
  12.  
  13. #define TYPE_WALL    0
  14. #define TYPE_OBJECT    1
  15. #define TYPE_PALETTE    2
  16.  
  17. #define BITMAP_WIDTH    64
  18. #define BITMAP_HEIGHT    64
  19. #define BITMAP_SIZE    (BITMAP_WIDTH * BITMAP_HEIGHT)
  20.  
  21. #define GRID_SIZE    64
  22. #define GRID_WIDTH    64
  23. #define GRID_HEIGHT    64
  24. #define GRID_MAX    GRID_WIDTH * GRID_HEIGHT
  25. #define GRID_XMAX    GRID_WIDTH * GRID_SIZE
  26. #define GRID_YMAX    GRID_HEIGHT * GRID_SIZE
  27.  
  28. #define GRID_XMAXLONG    (GRID_XMAX * FP_MULT)
  29. #define GRID_YMAXLONG    (GRID_YMAX * FP_MULT)
  30.  
  31. #define MAX_HEIGHT    960
  32. #define MIN_HEIGHT    16
  33.  
  34.  
  35. #define MAX_UPDOWN        30        /* Max up or down spots for each level */
  36.  
  37. #define MAP_STARTCODE        0xFC    /* Force player to this square  */
  38. #define MAP_UPCODE        0xFD    /* Go up to previous level        */
  39. #define MAP_DOWNCODE        0xFE    /* Go down to next level        */
  40. #define MAP_GOALCODE        0xFF    /* Finish line!            */
  41.  
  42.  
  43. #define MAX_XARRAY        10        /* Max number in XMS array        */
  44.  
  45. typedef struct {
  46.     UCHAR   far        *Bmp;        /* Pointer to real memory */
  47.     unsigned long   xHandle;        /* Handle to XMS memory   */
  48.         int        count;        /* Usage count          */
  49. } XARRAY;
  50.  
  51. typedef struct {
  52.     int        Number;    /* Bitmap number of this wall  */
  53.     int        Column;    /* Column of bitmap to display */
  54.     int        Distance;    /* Distance to this column     */
  55.     int        LightAdj;    /* Not currently used           */
  56.     } WALLARRAY;
  57.  
  58.  
  59. typedef struct {
  60.         int        mPos;    /* Map Position */
  61.         UINT    mCode;    /* Special code (start,up,down,goal) */
  62. } SPECIALCODE;
  63.  
  64.  
  65. #define BYTES_PER_ROW    320
  66. #define DWORDS_PER_ROW    (BYTES_PER_ROW / 4)
  67. #define SCREEN_SIZE    64000
  68.  
  69.